home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
PROGASIC
/
BASFILES.LZH
/
DRAWBOX.BAS
< prev
next >
Wrap
BASIC Source File
|
1988-09-10
|
2KB
|
148 lines
'$INCLUDE:'QBTOOLS.INC'
'' '$INCLUDE: 'qbtools2.inc'
SUB DrawBox (TopRow%, LeftCol%, Wid%, height%, FrameType%, FrmFgd%, FrmBgd%, Fill%, FillFgd%, FillBgd%)
' Frame Types are:
'
'
' ┌────────────┐ ░░░░░░░░░░░░
' │ │ ░ ░
' │ 1 │ ░ 5 ░
' └────────────┘ ░░░░░░░░░░░░
'
' ╔════════════╗ ▒▒▒▒▒▒▒▒▒▒▒▒
' ║ ║ ▒ ▒
' ║ 2 ║ ▒ 6 ▒
' ╚════════════╝ ▒▒▒▒▒▒▒▒▒▒▒▒
'
' ▄▄▄▄▄▄▄▄▄▄▄▄▄ ▓▓▓▓▓▓▓▓▓▓▓▓
' ▌ ▐ ▓ ▓
' ▌ 3 ▐ ▓ 7 ▓
' ▀▀▀▀▀▀▀▀▀▀▀▀▀ ▓▓▓▓▓▓▓▓▓▓▓▓
'
' █████████████
' █ █
' █ 4 █
' █████████████
'
IF Wid% < 2 THEN
EXIT SUB
END IF
IF height% < 2 THEN
EXIT SUB
END IF
FrameAttr% = Attributes%(FrmFgd%, FrmBgd%, 0, 0)
FillAttr% = Attributes%(FillFgd%, FillBgd%, 0, 0)
SELECT CASE FrameType%
CASE 1
Tl$ = "┌"
Tr$ = "┐"
Bl$ = "└"
Br$ = "┘"
Hb$ = "─"
Ht$ = "─"
Vl$ = "│"
Vr$ = "│"
CASE 2
Tl$ = "╔"
Tr$ = "╗"
Bl$ = "╚"
Br$ = "╝"
Hb$ = "═"
Ht$ = "═"
Vl$ = "║"
Vr$ = "║"
CASE 3
Tl$ = "▄"
Tr$ = "▄"
Bl$ = "▀"
Br$ = "▀"
Hb$ = "▀"
Ht$ = "▄"
Vl$ = "▌"
Vr$ = "▐"
CASE 4
Tl$ = "█"
Tr$ = "█"
Bl$ = "█"
Br$ = "█"
Hb$ = "█"
Ht$ = "█"
Vl$ = "█"
Vr$ = "█"
CASE 5
Tl$ = "░"
Tr$ = "░"
Bl$ = "░"
Br$ = "░"
Hb$ = "░"
Ht$ = "░"
Vl$ = "░"
Vr$ = "░"
CASE 6
Tl$ = "▒"
Tr$ = "▒"
Bl$ = "▒"
Br$ = "▒"
Hb$ = "▒"
Ht$ = "▒"
Vl$ = "▒"
Vr$ = "▒"
CASE 7
Tl$ = "▓"
Tr$ = "▓"
Bl$ = "▓"
Br$ = "▓"
Hb$ = "▓"
Ht$ = "▓"
Vl$ = "▓"
Vr$ = "▓"
CASE ELSE
Tl$ = "+"
Tr$ = "+"
Bl$ = "+"
Br$ = "+"
Hb$ = "-"
Ht$ = "-"
Vl$ = "|"
Vr$ = "|"
END SELECT
' LeftCol
' TopRow
' Width
' Height
Top$ = Tl$ + STRING$(Wid% - 2, Ht$) + Tr$
Bot$ = Bl$ + STRING$(Wid% - 2, Hb$) + Br$
IF Fill% THEN
Body$ = STRING$(Wid% - 2, " ")
END IF
BotRow% = TopRow% + height% - 1
RightCol% = LeftCol% + Wid% - 1
ColorPrint Top$, TopRow%, LeftCol%, FrameAttr%
ColorPrint Bot$, BotRow%, LeftCol%, FrameAttr%
FOR j% = TopRow% + 1 TO TopRow% + height% - 2
ColorPrint Vl$, j%, LeftCol%, FrameAttr%
ColorPrint Vr$, j%, RightCol%, FrameAttr%
IF Fill% <> 0 THEN
Lc% = LeftCol% + 1
ColorPrint Body$, j%, Lc%, FillAttr%
END IF
NEXT j%
END SUB